From: Jan Beulich Date: Thu, 15 Nov 2018 15:43:36 +0000 (+0100) Subject: x86/shadow: emulate_gva_to_mfn() should respect p2m_ioreq_server X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~2916 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=2190c8160a802560029d5d260d5f6979302b53d0;p=xen.git x86/shadow: emulate_gva_to_mfn() should respect p2m_ioreq_server Writes to such pages need to be handed to the emulator. Signed-off-by: Jan Beulich Reviewed-by: Paul Durrant Acked-by: Andrew Cooper Acked-by: Tim Deegan --- diff --git a/xen/arch/x86/mm/shadow/hvm.c b/xen/arch/x86/mm/shadow/hvm.c index 4cc75916b8..8994cb9f87 100644 --- a/xen/arch/x86/mm/shadow/hvm.c +++ b/xen/arch/x86/mm/shadow/hvm.c @@ -338,6 +338,11 @@ static mfn_t emulate_gva_to_mfn(struct vcpu *v, unsigned long vaddr, { return _mfn(BAD_GFN_TO_MFN); } + if ( p2mt == p2m_ioreq_server ) + { + put_page(page); + return _mfn(BAD_GFN_TO_MFN); + } if ( p2m_is_discard_write(p2mt) ) { put_page(page);